from .abstract import AbstractBJSNode
from babylon_js.logging import *

CONNECTOR_SHADERS = 'ShaderNodeBlackbody ShaderNodeValToRGB ShaderNodeCombineHSV ShaderNodeCombineRGB ShaderNodeCombineXYZ ShaderNodeMath ShaderNodeRGBToBW ShaderNodeSeparateHSV ShaderNodeSeparateXYZ ShaderNodeVectorMath ShaderNodeWavelength'
PROCEDURAL_TEXTURES = 'ShaderNodeTexBrick ShaderNodeTexChecker ShaderNodeTexGradient ShaderNodeTexMagic ShaderNodeTexMusgrave ShaderNodeTexNoise ShaderNodeTexPointDensity ShaderNodeTexSky ShaderNodeTexVoronoi ShaderNodeTexWave'

#===============================================================================
class UnsupportedNode(AbstractBJSNode):
    bpyType = 'NONE'

    def __init__(self, bpyNode, socketName):
        super().__init__(bpyNode, socketName)
        self.mustBake = True
        self.loggedWarning = True
        Logger.warn('unsupported node type(' + bpyNode.bl_idname +') will trigger baking', 3)
#===============================================================================
#,
#ShaderNodeAttribute,
#,
#,
#ShaderNodeBrightContrast,
#ShaderNodeBsdfAnisotropic,
#,
#ShaderNodeBsdfGlass,
#,
#ShaderNodeBsdfHair,
#,
#ShaderNodeBsdfToon,
#ShaderNodeBsdfTranslucent,
#,
#ShaderNodeBsdfVelvet,
#ShaderNodeBump,
#ShaderNodeCameraData,
#,
#,
#,
#,
#ShaderNodeExtendedMaterial,
#,
#ShaderNodeGamma,
#ShaderNodeGeometry,
#,
#ShaderNodeHairInfo,
#ShaderNodeHoldout,
#ShaderNodeHueSaturation,
#ShaderNodeInvert,
#ShaderNodeLampData,
#ShaderNodeLayerWeight,
#ShaderNodeLightFalloff,
#ShaderNodeLightPath,
#,
#ShaderNodeMaterial,
#,
#ShaderNodeMixRGB,
#,
#ShaderNodeNewGeometry,
#ShaderNodeNormal,
#,
#ShaderNodeObjectInfo,
#ShaderNodeOutput,
#,
#ShaderNodeOutputLineStyle,
#,
#,
#ShaderNodeParticleInfo,
#ShaderNodeRGB,
#ShaderNodeRGBCurve,
#,
#ShaderNodeScript,
#,
#,
#,
#ShaderNodeSqueeze,
#ShaderNodeSubsurfaceScattering,
#ShaderNodeTangent,
#,
#,
#,
#,
#,
#,
#,
#,
#,
#,
#,
#,
#,
#ShaderNodeTexture,
#ShaderNodeUVAlongStroke,
#,
#,
#ShaderNodeValue,
#ShaderNodeVectorCurve,
#,
#ShaderNodeVectorTransform,
#ShaderNodeVolumeAbsorption,
#ShaderNodeVolumeScatter,
#,
#ShaderNodeWireframe